package br.com.foxinline.manager.criar;

import br.com.foxinline.modelo.Origem;
import br.com.foxinline.servico.OrigemServico;
import br.com.foxinline.utilitario.Mensagem;
import java.io.Serializable;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author cadomeireles
 */
@ViewScoped
@ManagedBean
public class ManagerCriarOrigem implements Serializable {
 
    @EJB
    OrigemServico origemServico;
    
    private Origem origem;
    
    private String editarId;
    
    @PostConstruct
    public void init() {
        instanciar();
        delegar();
    }

    private void instanciar() {
        this.origem = new Origem();
    }

    private void delegar() {
        Map<String, String> parametros = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
        this.editarId = parametros.get("origemId");
        
        if (editarId != null) {
            this.origem = origemServico.pesquisar(Long.parseLong(editarId));
        }        
    }

    public void salvar() {
        
        String mensagem;
        
        // salvar
        if (this.origem.getId() == null) {
            origemServico.salvar(this.origem);
            instanciar();            
            mensagem = "Origem cadastrada com sucesso!";
            
        // atualizar
        } else {        
            origemServico.atualizar(this.origem);
            mensagem = "Origem atualizada com sucesso!";
        }

        Mensagem.messagemInfo(mensagem);
        
    }
    
    public Origem getOrigem() {
        return origem;
    }

    public void setOrigem(Origem origem) {
        this.origem = origem;
    }
    
}
